
// 上海惠普有限公司
// https://h30631.www3.hp.com/search-jobs/Intern/%E4%B8%AD%E5%9B%BD?orgIds=3544&kt=1&alp=1814991&alt=2


var url = "https://h30631.www3.hp.com/search-jobs/Intern/%E4%B8%AD%E5%9B%BD?orgIds=3544&kt=1&alp=1814991&alt=2";

var url2 = " https://h30631.www3.hp.com/search-jobs/results?ActiveFacetID=0&CurrentPage=1&RecordsPerPage=62&Distance=50&RadiusUnitType=0&Keywords=Intern&Location=China&Latitude=&Longitude=&ShowRadius=False&CustomFacetName=&FacetTerm=&FacetType=0&FacetFilters%5B0%5D.ID=1814991&FacetFilters%5B0%5D.FacetType=2&FacetFilters%5B0%5D.Count=62&FacetFilters%5B0%5D.Display=China&FacetFilters%5B0%5D.IsApplied=true&FacetFilters%5B0%5D.FieldName=&SearchResultsModuleName=Search+Results&SearchFiltersModuleName=Search+Filters&SortCriteria=0&SortDirection=1&SearchType=6&CategoryFacetTerm=&CategoryFacetType=&LocationFacetTerm=&LocationFacetType=&KeywordType=&LocationType=&LocationPath=&OrganizationIds=3544&PostalCode=&fc=&fl=&fcf=&afc=&afl=&afcf=";

var spider = require('../../dao/node.spider');
var cheerio = require('cheerio');
var url_node = require('url');
var Iconv = require('iconv-lite');
var pinyin = require('node-pinyin');
var insertDB = require('../../dao/insert.db');
var utils = require('../../dao/utils');
var request = require('request');
var fs = require('fs');


module.exports = function(callback){
    get(url,callback);
};

function get(url, callback) {

    request({ url: url2, encoding: null }, function (err, res, body) {
        var res;
        try {
            res = body.toString('utf-8');
            res = JSON.parse(res);
        } catch (e) {


        }
        var html = res.results;

        var urlObj = url_node.parse(url2);
        var protocol = urlObj.protocol;
        var hostname = urlObj.hostname;

        var host = protocol + "//" + hostname;

        var $ = cheerio.load(html);

        var lis = $("ul li");
        for (var t = 0; t < lis.length; t++) {

            var url = host + lis.eq(t).find("a").attr('href');
            var location = lis.eq(t).find(".job-location").text();
            getDetail(url, location);
        };
        
        setTimeout(()=>{
            callback(null,'');
            callback =function(){};
        },2000);

    });

}
function getDetail(url, location) {


    request({ url: url, encoding: null }, function (err, res, body) {
        var res;
        try {
            res = body.toString('utf-8');
        } catch (e) {


        }

        var $ = cheerio.load(res);

        var data = {
            "url": url,  // jd详情页的地址
            'edu': '', // 最低学历
            'exp': [], // 所需工作经验，比如[3,5]表示3到5年,[3]表示3年，[]表示无经验要求
            'name': $(".job-description h1").text(), // 职位名称*
            'date': $(".job-date").text().replace('Date posted', ''), // 职位发布日期，字符串形式即可，后期统一转换
            'lang': '', // 对语言的要求
            'place': '', // 办公具体地址
            'major': '', // 专业要求
            'count': '', // 招聘数量
            'salary': [], // 薪资待遇，[5000,8000]表示月薪5到8千，[4000]表示4千，[]表示没有写明
            'toSchool': true, // 是否是面向校园招聘，本次官网抓取一律都是校园招聘，所以此处都是True
            'welfare': [], // 福利待遇，比如五险一金、十三薪之类的，保存成数组
            'funType': '', // 职能类型，比如证券经纪人是证券/期货/外汇经纪人
            'company': '上海惠普有限公司', // 企业名称
            'location': location, // 所在城市
            'industry': '',// 企业所在行业
            'keywords': [], // 此岗位的搜索关键字 
            'platform': 'offical',// 针对官网抓取时此处一律保存为offical
            'searchKeyword': '',// 搜索的关键字，由于是官网抓取所以此处一律为空字符串
            'description': $(".ats-description").text(),// 职位的详细描述，包括职责、要求之类的
            'subIndustry': '',// 一律为空字符串
            'stime': new Date() // 抓取时间
        };

        insertDB(data);
    });



}